An Introduction To Cascading Style Sheets
by Steve Nash


CSS (Cascading Style Sheets) have been around for a while now, and act as a complement to plain old HTML files. Style sheets allow a developer to separate HTML code from formatting rules and styles. It seems like many HTML beginners’ under-estimate the power and flexibility of the style sheet. In this article, I’m going to describe what cascading style sheets are, their benefits, and two ways to implement them.

Cascading whats?

Cascading Style Sheets...that’s what! They’re what paint is to canvas, what topping is to ice cream... they complement HTML and allow us to define the style (look and feel) for our entire site in just one file!

Cascading style sheets were introduced to the web development world way back in 1996. They get their name from the fact that each different style declaration can be “cascaded” under the one above it, forming a parent-child relationship between the styles.

They were quickly standardized, and both Internet Explorer and Netscape built their latest browser releases to match the CSS standard (or, to match it as closely as they could).

So, you’re still asking what a style sheet exactly is? A style sheet is a free-flowing document that can either be referenced by, or included into a HTML document. Style sheets use blocks of formatted code to define styles for existing HTML elements, or new styles, called classes.

Style sheets can be used to change the height of some text, to change the background color of a page, to set the default border color of a table...the list goes on and on. Put simply though, style sheets are used to set the formatting, color scheme and style of an HTML page.

Style sheets should be used instead of the standard <font>, <b>, <i> and <u> tags because:

- One style sheet can be referenced from many pages, meaning that each file is kept to a minimum size and only requires one extra line to load the external style sheet file.

- If you ever need to change any part of your site's look/feel, it can be done quickly and only needs to be done in one place: the style sheet.

- With cascading style sheets, there are many, many page attributes that simply cannot be set without them: individual tags can have different background colors, borders, indents, shadows, etc.

Style sheets can either be inline (included as part of a HTML document), or, referenced externally (contained in a separate file and referenced from the HTML document). Inline style sheets are contained wholly within a HTML document and will only change the look and layout of that HTML file.

Open your favorite text editor and enter the following code. Save the file as stylesheet.html and open it in your browser:

<html>
<head>
<title> Cascading Style Sheet Example </title>
<style>
h1
{
color: #636594;
font-family: Verdana;
size: 18pt;
}
</style>
</head>
<body>
<h1>This is one big H1 tag!</h1>
</body>
</html>

When you fire up your browser, you should see the text \"This is one big H1 tag!\" in a large, blue Verdana font face.

Let’s step through the style code step by step. Firstly, we have a pretty standard HTML header. The page starts with the <html> tag followed by the <head> tag. Next, we use a standard <title> tag to set the title of the page we are working with.

Notice, though, that before the <head> tag is closed, we have our <style> tag, its contents, and then the closing </style> tag.

<style>
h1
{
color: #636594;
font-family: Verdana;
size: 18pt;
}
</style>

When you add the style sheet code inline (as part of the HTML document), it must be bound by <style> and </style> tags respectively. Our example is working with the <h1> tag. We are changing three attributes of the <h1>’s style: the text color (color), the font that any <h1> tags on the page will be displayed in (font-family), and lastly, the size of the font (size).

The code between the { and }are known as the attributes. Our sample code has three. Try changing the hexadecimal value of the color attribute to #A00808 and then save and refresh the page. You should see the same text, just coloured red instead of blue.

An example of an external style sheet

External style sheets are similar to internal style sheets, however, they are stripped of the <style> and </style> tags, and need to be referenced from another HTML file to be used.

Create a new file called “mystyle.css” and enter the following code into it:

h1
{
color: #a00808;
font-family: Verdana;
size: 18pt
}

Next, create a HTML file and name it external.html. Enter the following code into external.html:

<html>
<head>
<title> External Style Sheet Reference Example </title>
<link rel=\"stylesheet\" type=\"text/css\" href=\"mystyle.css\">
</head>
<body>
<h1>This is one big H1 tag!</h1>
</body>
</html>

As mentioned above, you can see that the actual code in mystyle.css is exactly the same as it was in the inline example. In our HTML file, we simply place a <link> tag in the <head> section of our page. The rel=”stylesheet” attribute tells the browser that the link to the external file is a style sheet. The type=”text/css” attribute tells the browser that mystyle.css is a text file containing css (cascading style sheet) declarations. Lastly, the href=”mystyle.css” attribute tells the browser that the actual file we want to load is mystyle.css.

Conclusion

Well, there you have it, a quick look at style sheets and how to implement both an inline and external version. Checkout the links below if you’ve never worked with cascading style sheets before. You will be surprised at some of the things you can do with them!

DevArticles.com
WebMonkey
WebReview.com
W3C CSS Validator



About The Author

Mitchell Harper is the founder and senior editor of DevArticles. DevArticles provides its readers with top quality ASP, PHP and .NET articles, interviews and product reviews. If you're looking for insider tips and tricks, you'll also find them at DevArticles.